Пагінація та сортування

📌 Додавання пагінації

Для оптимізації виводу великої кількості записів використовуємо Pageable.

                
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/books")
public class BookController {
    private final BookService bookService;

    public BookController(BookService bookService) {
        this.bookService = bookService;
    }

    @GetMapping("/paged")
    public Page getBooksPaged(Pageable pageable) {
        return bookService.getBooksPaged(pageable);
    }
}
                
            

🛠 Реалізація у сервісному шарі

                
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;

@Service
public class BookService {
    private final BookRepository bookRepository;

    public BookService(BookRepository bookRepository) {
        this.bookRepository = bookRepository;
    }

    public Page getBooksPaged(Pageable pageable) {
        return bookRepository.findAll(pageable);
    }
}
                
            

Назад Далі